/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controle;

import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import modelo.Docente;
import modelo.Login;
import persistencia.DocenteFacade;
import persistencia.LoginFacade;

/**
 *
 * @author TIAGO
 */
@ManagedBean
@SessionScoped
public class MbLiberacaoProfessores {

    private Docente docente;
    private List<Docente> lista;
    private List<Docente> filtradocente;
    private String senha1;
    private String senha2;
    private String login;
    @EJB
    private DocenteFacade ejbDocenteFacade;
    @EJB
    private LoginFacade ejbLoginFacade;

    public MbLiberacaoProfessores() {
        docente = new Docente();
    }

    @PostConstruct
    public void init() {
        lista = ejbDocenteFacade.findAll();
    }

    public Docente getDocente() {
        return docente;
    }

    public void setDocente(Docente docente) {
        this.docente = docente;
    }

    public List<Docente> getLista() {
        return lista;
    }

    public void setLista(List<Docente> lista) {
        this.lista = lista;
    }

    public List<Docente> getFiltradocente() {
        return filtradocente;
    }

    public void setFiltradocente(List<Docente> filtradocente) {
        this.filtradocente = filtradocente;
    }

    public String getSenha1() {
        return senha1;
    }

    public void setSenha1(String senha1) {
        this.senha1 = senha1;
    }

    public String getSenha2() {
        return senha2;
    }

    public void setSenha2(String senha2) {
        this.senha2 = senha2;
    }

    public String getLogin() {
        if (docente.getLogin() != null) {
            login = docente.getLogin().getLogin();
            return docente.getLogin().getLogin();
        } else {
            return login;
        }
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String alterarSenha() {
        
        System.out.println("");
        
        if (login.equals("")) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Login Inválido", ""));
            return null;
        }
        
        if(ejbLoginFacade.existeUsuario(login)){
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Login ja está em uso", ""));
            return null;
        }

        if (senha1.equals("")) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Senha Inválida", ""));
            return null;
        }

        if (!senha1.equals(senha2)) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Senhas Incompatíveis", ""));
            return null;
        } else {
            Login lg = docente.getLogin();
            if (lg == null) {
                lg = new Login(docente.getPssfscCodigo());
            }
            lg.setLogin(login);
            lg.setSenha(senha1);
            docente.setLogin(lg);
            ejbDocenteFacade.edit(docente);
            login = new String();
            return "liberacaoDeProfessores";
        }
    }

    public String limpaLogin() {
        login = new String();
        return "liberacaoDeProfessores";
    }
}
